home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 081-090 / amok81 / m2 / defs / intuitiond.def < prev    next >
Text File  |  1993-11-04  |  29KB  |  1,418 lines

  1. DEFINITION MODULE IntuitionD; (*$ Implementation:=FALSE *)
  2. (* 17-Apr-1992/cn *)
  3.  
  4. FROM SYSTEM IMPORT ADDRESS,SHORTSET,BITSET,BYTE,CAST,LONGSET;
  5.  
  6. FROM ExecD IMPORT
  7.  Interrupt,IOStdReq,Library,List,ListPtr,MemReqSet,Message,MinNode
  8.  ,MsgPortPtr,SignalSemaphore,Node,TaskPtr;
  9.  
  10. FROM GraphicsD IMPORT
  11.  jam2,BitMap,BitMapPtr,ClipRect,DrawModeSet,GfxBasePtr,LayerInfo
  12.  ,LayerPtr,Point,RastPort,RastPortPtr,RegionPtr,SimpleSpritePtr
  13.  ,TextAttr,TextAttrPtr,TextFontPtr,TmpRas,View,ViewModeSet,ViewPort
  14.  ,ViewPortPtr,ViewPtr;
  15.  
  16. FROM InputEvent IMPORT
  17.  lButton,rButton,upPrefix,InputEvent,InputEventPtr,Qualifiers
  18.  ,QualifierSet,mButton;
  19.  
  20. FROM KeyMapD IMPORT
  21.  KeyMapPtr;
  22.  
  23. FROM Timer IMPORT
  24.  IOTimer,TimeVal;
  25.  
  26. FROM UtilityD IMPORT
  27.  TagItemPtr,tagUser,HookPtr,Hook;
  28.  
  29. CONST
  30.  intuitionName="intuition.library";
  31.  
  32. TYPE
  33.  StrPtr=ADDRESS;
  34.  
  35. (*
  36.  Die Datentypen von Intuition referenzieren sich oft gegenseitig.
  37.  Aus diesem Grund werden alle Zeiger zuerst deklariert.
  38. *)
  39.  BoolInfoPtr=POINTER TO BoolInfo;
  40.  BorderPtr=POINTER TO Border;
  41.  (*36*)ColorSpecPtr=POINTER TO ColorSpec;
  42.  DrawInfoPtr=POINTER TO DrawInfo;
  43.  (*36*)EasyStructPtr=POINTER TO EasyStruct;
  44.  (*36*)ExtNewScreenPtr=POINTER TO ExtNewScreen;
  45.  (*36*)ExtNewWindowPtr=POINTER TO ExtNewWindow;
  46.  (*36*)GadgetInfoPtr=POINTER TO GadgetInfo;
  47.  GadgetPtr=POINTER TO Gadget;
  48.  (*36*)GpGoInactivePtr=POINTER TO GpGoInactive;
  49.  (*36*)GpHitTestPtr=POINTER TO GpHitTest;
  50.  (*36*)GpInputPtr=POINTER TO GpInput;
  51.  (*36*)GpRenderPtr=POINTER TO GpRender;
  52.  (*36*)IBoxPtr=POINTER TO IBox;
  53.  (*36*)IClassPtr=POINTER TO IClass;
  54.  ImagePtr=POINTER TO Image;
  55.  (*36*)ImpDrawPtr=POINTER TO ImpDraw;
  56.  (*36*)ImpErasePtr=POINTER TO ImpErase;
  57.  (*36*)ImpFrameBoxPtr=POINTER TO ImpFrameBox;
  58.  (*36*)ImpHitTestPtr=POINTER TO ImpHitTest;
  59.  IntuiMessagePtr=POINTER TO IntuiMessage;
  60.  IntuiTextPtr=POINTER TO IntuiText;
  61.  IntuitionBasePtr=POINTER TO IntuitionBase;
  62.  MenuItemPtr=POINTER TO MenuItem;
  63.  MenuPtr=POINTER TO Menu;
  64.  NewScreenPtr=POINTER TO NewScreen;
  65.  NewWindowPtr=POINTER TO NewWindow;
  66.  (*36*)OpGetPtr=POINTER TO OpGet;
  67.  (*36*)ObjectPtr=POINTER TO Object;
  68.  (*36*)OpAddTailPtr=POINTER TO OpAddTail;
  69.  (*36*)OpSetPtr=POINTER TO OpSet;
  70.  (*36*)OpMemberPtr=POINTER TO OpMember;
  71.  (*36*)OpUpdatePtr=POINTER TO OpUpdate;
  72.  (*36*)PGXPtr=POINTER TO PGX;
  73.  PreferencesPtr=POINTER TO Preferences;
  74.  PropInfoPtr=POINTER TO PropInfo;
  75.  (*36*)PubScreenNodePtr=POINTER TO PubScreenNode;
  76.  RememberPtr=POINTER TO Remember;
  77.  RequesterPtr=POINTER TO Requester;
  78.  ScreenPtr=POINTER TO Screen;
  79.  (*36*)SGWorkPtr=POINTER TO SGWork;
  80.  (*36*)StringExtendPtr=POINTER TO StringExtend;
  81.  StringInfoPtr=POINTER TO StringInfo;
  82.  (*36*)UObjectPtr=POINTER TO UObject;
  83.  WindowPtr=POINTER TO Window;
  84.  
  85. CONST
  86. (*
  87.  Bitnummern für Menu.flags:
  88. *)
  89.  menuEnabled=0;
  90.  miDrawn=8;
  91.  
  92. TYPE
  93.  Menu=RECORD
  94.   nextMenu:MenuPtr;
  95.   leftEdge:INTEGER;
  96.   topEdge:INTEGER;
  97.   width:INTEGER;
  98.   height:INTEGER;
  99.   flags:BITSET;
  100.   menuName:ADDRESS;
  101.   firstItem:MenuItemPtr;
  102.   jazzX:INTEGER;
  103.   jazzY:INTEGER;
  104.   beatX:INTEGER;
  105.   beatY:INTEGER;
  106.  END;
  107.  
  108.  MenuItemFlags=(
  109.   checkIt,itemText,commSeq,menuToggle,itemEnabled,mif5,
  110.   highComp,highBox,checked,mif9,mif10,mif11,isDrawn,
  111.   highItem,menuToggled,mif15
  112.  );
  113.  MenuItemFlagSet=SET OF MenuItemFlags;
  114.  
  115. CONST
  116.  highImage=MenuItemFlagSet{};
  117.  highNone=MenuItemFlagSet{highBox,highComp};
  118.  
  119. TYPE
  120.  MenuItem=RECORD
  121.   nextItem:MenuItemPtr;
  122.   leftEdge:INTEGER;
  123.   topEdge:INTEGER;
  124.   width:INTEGER;
  125.   height:INTEGER;
  126.   flags:MenuItemFlagSet;
  127.   mutualExclude:LONGSET;
  128.   itemFill:ADDRESS;
  129.   selectFill:ADDRESS;
  130.   command:CHAR;
  131.   subItem:MenuItemPtr;
  132.   nextSelect:CARDINAL;
  133.  END;
  134.  
  135.  RequesterFlags=(
  136.   pointRel,preDrawn,noisyReq,rf3,
  137.   simpleReq,(*36*)useReqImage,noReqBackFill,
  138.   rf7,rf8,rf9,rf10,rf11,
  139.   reqOffWindow,reqActive,sysRequest,deferRefresh
  140.  );
  141.  RequesterFlagSet=SET OF RequesterFlags;
  142.  
  143.  Requester=RECORD
  144.   olderRequest:RequesterPtr;
  145.   leftEdge:INTEGER;
  146.   topEdge:INTEGER;
  147.   width:INTEGER;
  148.   height:INTEGER;
  149.   relLeft:INTEGER;
  150.   relTop:INTEGER;
  151.   reqGadget:GadgetPtr;
  152.   reqBorder:BorderPtr;
  153.   reqText:IntuiTextPtr;
  154.   flags:RequesterFlagSet;
  155.   backFill:SHORTCARD;
  156.   reqLayer:LayerPtr;
  157.   reqPad1:ARRAY [0..31] OF BYTE;
  158.   imageBMap:BitMapPtr;
  159.   rWindow:WindowPtr;
  160.   (*36*)reqImage:ImagePtr;
  161.   reqPad2:ARRAY [0..31] OF BYTE;
  162.  END;
  163.  
  164.  GadgetFlags=(
  165.   gadgHBox,gadgHImage,gadgImage,gRelBottom,gRelRight,
  166.   gRelWidth,gRelHeight,selected,gadgDisabled,
  167.   (*37*)tabCycle,(*37*)stringExtend,gf11,
  168.   (*36*)labelString,(*36*)labelImage,
  169.   gf14,gf15
  170.  );
  171.  GadgetFlagSet=SET OF GadgetFlags;
  172.  
  173.  ActivationFlags=(
  174.   relVerify,gadgImmediate,endGadget,followMouse,
  175.   rightBorder,leftBorder,topBorder,bottomBorder,
  176.   toggleSelect,stringCenter,stringRight,longint,
  177.   altKeyMap,boolExtend,activeGadget,borderSniff
  178.  );
  179.  ActivationFlagSet=SET OF ActivationFlags;
  180.  
  181. CONST
  182.  gadgHighbits=CAST(GadgetFlagSet,03H);
  183.  gadgHNone=GadgetFlagSet{gadgHBox,gadgHImage};
  184.  gadgHComp=GadgetFlagSet{};
  185.  
  186.  boolGadget=0001H;
  187.  gadget0002=0002H;
  188.  propGadget=0003H;
  189.  strGadget=0004H;
  190.  (*36*)customGadget=0005H;
  191.  
  192.  sizing=0010H;
  193.  wDragging=0020H;
  194.  sDragging=0030H;
  195.  wUpFront=0040H;
  196.  sUpFront=0050H;
  197.  wDownBack=0060H;
  198.  sDownBack=0070H;
  199.  close=0080H;
  200.  
  201.  reqGadget=1000H;
  202.  gzzGadget=2000H;
  203.  scrGadget=4000H;
  204.  sysGadget=8000H;
  205.  gadgetType=CAST(BITSET,0FC00H);
  206.  
  207. TYPE
  208.  Gadget=RECORD
  209.   nextGadget:GadgetPtr;
  210.   leftEdge:INTEGER;
  211.   topEdge:INTEGER;
  212.   width:INTEGER;
  213.   height:INTEGER;
  214.   flags:GadgetFlagSet;
  215.   activation:ActivationFlagSet;
  216.   gadgetType:CARDINAL;
  217.   gadgetRender:ADDRESS;
  218.   selectRender:ADDRESS;
  219.   gadgetText:IntuiTextPtr;
  220.   CASE :INTEGER OF
  221.   |0: mutualExclude:LONGSET;
  222.   |1: (*36*)hp:HookPtr;
  223.   END;
  224.   specialInfo:ADDRESS;
  225.   gadgetID:INTEGER;
  226.   userData:ADDRESS;
  227.  END;
  228.  
  229. CONST
  230. (*
  231.  Bitnummer für BoolInfo.flags.
  232. *)
  233.  boolMask=0;
  234.  
  235. TYPE
  236.  BoolInfo=RECORD
  237.   flags:BITSET;
  238.   mask:ADDRESS;
  239.   reserved:LONGCARD;
  240.  END;
  241.  
  242.  PropInfoFlags=(
  243.   autoKnob,freeHoriz,freeVert,propBorderless,
  244.   (*36*)propNewLook,pf5,pf6,pf7,
  245.   knobHit,pf9,pf10,pf11,pf12,pf13,pf14,pf15
  246.  );
  247.  PropInfoFlagSet=SET OF PropInfoFlags;
  248.  
  249. CONST
  250.  knobVmin=4;
  251.  knobHmin=6;
  252.  maxBody=0FFFFH;
  253.  maxPot=0FFFFH;
  254.  
  255. TYPE
  256.  PropInfo=RECORD
  257.   flags:PropInfoFlagSet;
  258.   horizPot:CARDINAL;
  259.   vertPot:CARDINAL;
  260.   horizBody:CARDINAL;
  261.   vertBody:CARDINAL;
  262.   cWidth:CARDINAL;
  263.   cHeight:CARDINAL;
  264.   hPotRes:CARDINAL;
  265.   vPotRes:CARDINAL;
  266.   leftBorder:CARDINAL;
  267.   topBorder:CARDINAL;
  268.  END;
  269.  
  270. TYPE
  271.  StringInfo=RECORD
  272.   buffer:ADDRESS;
  273.   undoBuffer:ADDRESS;
  274.   bufferPos:INTEGER;
  275.   maxChars:INTEGER;
  276.   dispPos:INTEGER;
  277.   undoPos:INTEGER;
  278.   numChars:INTEGER;
  279.   dispCount:INTEGER;
  280.   cLeft:INTEGER;
  281.   cTop:INTEGER;
  282.   (*36*)extension:StringExtendPtr;
  283.   longInt:LONGINT;
  284.   altKeyMap:KeyMapPtr;
  285.  END;
  286.  
  287. CONST
  288.  autoFrontPen=0;
  289.  autoBackPen=1;
  290.  autoDrawMode=jam2;
  291.  autoLeftEdge=6;
  292.  autoTopEdge=3;
  293.  autoITextFont=NIL;
  294.  autoNextText=NIL;
  295.  
  296. TYPE
  297.  IntuiText=RECORD
  298.   frontPen:SHORTCARD;
  299.   backPen:SHORTCARD;
  300.   drawMode:DrawModeSet;
  301.   leftEdge:INTEGER;
  302.   topEdge:INTEGER;
  303.   iTextFont:TextAttrPtr;
  304.   iText:ADDRESS;
  305.   nextText:IntuiTextPtr;
  306.  END;
  307.  
  308.  Border=RECORD
  309.   leftEdge:INTEGER;
  310.   topEdge:INTEGER;
  311.   frontPen:SHORTCARD;
  312.   backPen:SHORTCARD;
  313.   drawMode:DrawModeSet;
  314.   count:SHORTCARD;
  315.   xy:ADDRESS;
  316.   nextBorder:BorderPtr;
  317.  END;
  318.  
  319.  Image=RECORD
  320.   leftEdge:INTEGER;
  321.   topEdge:INTEGER;
  322.   width:INTEGER;
  323.   height:INTEGER;
  324.   depth:INTEGER;
  325.   imageData:ADDRESS;
  326.   planePick:SHORTCARD;
  327.   planeOnOff:SHORTCARD;
  328.   nextImage:ImagePtr;
  329.  END;
  330.  
  331.  IDCMPFlags=(
  332.   sizeVerify,newSize,refreshWindow,mouseButtons,
  333.   mouseMove,gadgetDown,gadgetUp,reqSet,
  334.   menuPick,closeWindow,rawKey,reqVerify,
  335.   reqClear,menuVerify,newPrefs,diskInserted,
  336.   diskRemoved,wbenchMessage,activeWindow,inactiveWindow,
  337.   deltaMove,vanillaKey,intuiTicks,(*36*)idcmpUpdate,
  338.   (*36*)menuHelp,(*36*)changeWindow,c26,c27,
  339.   c28,c29,c30,lonelyMessage
  340.  );
  341.  IDCMPFlagSet=SET OF IDCMPFlags;
  342.  
  343. CONST
  344.  selectUp=lButton+upPrefix;
  345.  selectDown=lButton;
  346.  menuUp=rButton+upPrefix;
  347.  menuDown=rButton;
  348.  middleDown=mButton;
  349.  middleUp=mButton+upPrefix;
  350.  
  351.  checkWidth=19;
  352.  commWidth=27;
  353.  lowCheckWidth=13;
  354.  lowCommWidth=16;
  355.  
  356.  menuNull=0FFFFH;
  357.  noMenu=1FH;
  358.  noItem=3FH;
  359.  noSub=1FH;
  360.  
  361.  keyCodeQ=10H;
  362.  keyCodeZ=31H;
  363.  keyCodeX=32H;
  364.  keyCodeV=34H;
  365.  keyCodeB=35H;
  366.  keyCodeN=36H;
  367.  keyCodeM=37H;
  368.  keyCodeLess=38H;
  369.  keyCodeGreater=39H;
  370.  
  371.  cursorUp=4CH;
  372.  cursorDown=4DH;
  373.  cursorRight=4EH;
  374.  cursorLeft=4FH;
  375.  
  376.  menuHot=1;
  377.  menuCancel=2;
  378.  menuWaiting=3;
  379.  
  380.  okOk=menuHot;
  381.  okAbort=4;
  382.  okCancel=menuCancel;
  383.  
  384.  wbenchOpen=1;
  385.  wbenchClose=2;
  386.  
  387.  deadendAlert=80000000H;
  388.  recoveryAlert=0;
  389.  
  390.  altLeft=QualifierSet{lAlt};
  391.  altRight=QualifierSet{rAlt};
  392.  amigaLeft=QualifierSet{lCommand};
  393.  amigaRight=QualifierSet{rCommand};
  394.  amigaKeys=amigaLeft+amigaRight;
  395.  
  396. TYPE
  397.  IntuiMessage=RECORD
  398.   execMessage:Message;
  399.   class:IDCMPFlagSet;
  400.   code:CARDINAL;
  401.   qualifier:QualifierSet;
  402.   iAddress:ADDRESS;
  403.   mouseX:INTEGER;
  404.   mouseY:INTEGER;
  405.   seconds:LONGCARD;
  406.   micros:LONGCARD;
  407.   idcmpWindow:WindowPtr;
  408.   specialLink:IntuiMessagePtr;
  409.  END;
  410.  
  411.  IBox=RECORD
  412.   left:INTEGER;
  413.   top:INTEGER;
  414.   width:INTEGER;
  415.   height:INTEGER;
  416.  END;
  417.  
  418. TYPE
  419.  WindowFlags=(
  420.   windowSizing,windowDrag,windowDepth,windowClose,
  421.   sizeBRight,sizeBBottom,simpleRefresh,superBitMap,
  422.   backDrop,reportMouse,gimmeZeroZero,borderless,
  423.   activate,windowActive,inRequest,menuState,
  424.   rmbTrap,noCareRefresh,
  425.   (*36*)nwExtended,wf19,wf20,wf21,wf22,wf23,
  426.   windowRefresh,wbenchWindow,windowTicked,
  427.   (*36*)visitor,(*36*)zoomed,(*36*)hasZoom,wf30,wf31
  428.  );
  429.  WindowFlagSet=SET OF WindowFlags;
  430.  
  431.  ScreenFlags=(
  432.   wbenchScreen,(*36*)publicScreen,sf2,sf3,
  433.   showTitle,beeping,customBitMap,screenBehind,
  434.   screenQuiet,screenHires,sf10,sf11,
  435.   nsExtended,sf13,autoScroll,sf15
  436.  );
  437.  ScreenFlagSet=SET OF ScreenFlags;
  438.  
  439. CONST
  440.  (*36*)defaultMouseQueue=5;
  441.  smartRefresh=WindowFlagSet{};
  442.  otherRefresh=WindowFlagSet{simpleRefresh,superBitMap};
  443.  
  444. TYPE
  445.  Window=RECORD
  446.   nextWindow:WindowPtr;
  447.   leftEdge:INTEGER;
  448.   topEdge:INTEGER;
  449.   width:INTEGER;
  450.   height:INTEGER;
  451.   mouseY:INTEGER;
  452.   mouseX:INTEGER;
  453.   minWidth:INTEGER;
  454.   minHeight:INTEGER;
  455.   maxWidth:INTEGER;
  456.   maxHeight:INTEGER;
  457.   flags:WindowFlagSet;
  458.   menuStrip:MenuPtr;
  459.   title:ADDRESS;
  460.   firstRequest:RequesterPtr;
  461.   dmRequest:RequesterPtr;
  462.   reqCount:INTEGER;
  463.   wScreen:ScreenPtr;
  464.   rPort:RastPortPtr;
  465.   borderLeft:SHORTINT;
  466.   borderTop:SHORTINT;
  467.   borderRight:SHORTINT;
  468.   borderBottom:SHORTINT;
  469.   borderRPort:RastPortPtr;
  470.   firstGadget:GadgetPtr;
  471.   parent:WindowPtr;
  472.   descendant:WindowPtr;
  473.   pointer:ADDRESS;
  474.   ptrHeight:SHORTINT;
  475.   ptrWidth:[0..16];
  476.   xOffset:SHORTINT;
  477.   yOffset:SHORTINT;
  478.   idcmpFlags:IDCMPFlagSet;
  479.   userPort:MsgPortPtr;
  480.   windowPort:MsgPortPtr;
  481.   messageKey:IntuiMessagePtr;
  482.   detailPen:SHORTCARD;
  483.   blockPen:SHORTCARD;
  484.   checkMark:ImagePtr;
  485.   screenTitle:ADDRESS;
  486.   gzzMouseX:INTEGER;
  487.   gzzMouseY:INTEGER;
  488.   gzzWidth:INTEGER;
  489.   gzzHeight:INTEGER;
  490.   extData:ADDRESS;
  491.   userData:ADDRESS;
  492.   wLayer:LayerPtr;
  493.   iFont:TextFontPtr;
  494.   (*36*)moreFlags:LONGSET;
  495.  END;
  496.  
  497.  NewWindow=RECORD
  498.   leftEdge:INTEGER;
  499.   topEdge:INTEGER;
  500.   width:INTEGER;
  501.   height:INTEGER;
  502.   detailPen:SHORTINT;
  503.   blockPen:SHORTINT;
  504.   idcmpFlags:IDCMPFlagSet;
  505.   flags:WindowFlagSet;
  506.   firstGadget:GadgetPtr;
  507.   checkMark:ImagePtr;
  508.   title:ADDRESS;
  509.   screen:ScreenPtr;
  510.   bitMap:BitMapPtr;
  511.   minWidth:INTEGER;
  512.   minHeight:INTEGER;
  513.   maxWidth:INTEGER;
  514.   maxHeight:INTEGER;
  515.   type:ScreenFlagSet;
  516.  END;
  517.  
  518.  (*36*)ExtNewWindow=RECORD
  519.         nw:NewWindow;
  520.         extension:TagItemPtr;
  521.        END;
  522.  
  523.  (*36*)WaTags=(waDummy:=tagUser+99,
  524.         waLeft,
  525.         waTop,
  526.         waWidth,
  527.         waHeight,
  528.         waDetailPen,
  529.         waBlockPen,
  530.         waIDCMP,
  531.         waFlags,
  532.         waGadgets,
  533.         waCheckMark,
  534.         waTitle,
  535.         waScreenTitle,
  536.         waCustomScreen,
  537.         waSuperBitMap,
  538.         waMinWidth,
  539.         waMinHeight,
  540.         waMaxWidth,
  541.         waMaxHeight,
  542.         waInnerWidth,
  543.         waInnerHeight,
  544.         waPubScreenName,
  545.         waPubScreen,
  546.         waPubScreenFallBack,
  547.         waWindowName,
  548.         waColors,
  549.         waZoom,
  550.         waMouseQueue,
  551.         waBackFill,
  552.         waRptQueue,
  553.         waSizeGadget,
  554.         waDragBar,
  555.         waDepthGadget,
  556.         waCloseGadget,
  557.         waBackdrop,
  558.         waReportMouse,
  559.         waNoCareRefresh,
  560.         waBorderless,
  561.         waActivate,
  562.         waRMBTrap,
  563.         waWBenchWindow,
  564.         waSimpleRefresh,
  565.         waSmartRefresh,
  566.         waSizeBRight,
  567.         waSizeBBottom,
  568.         waAutoAdjust,
  569.         waGimmeZeroZero,
  570.         (*37*)waMenuHelp
  571.        );
  572.  
  573. CONST
  574.  driVersion=1;
  575.  
  576. TYPE
  577.  DrawPens=(
  578.   detailPen,blockPen,textPen,shinePen,shadowPen,fillPen,fillTextPen
  579.   ,backGroundPen,highLightTextPen
  580.  );
  581.  
  582. CONST
  583.  numDriPens=ORD(MAX(DrawPens))+1;
  584.  
  585. (*
  586.  Bitnummer für DrawInfo.flags
  587. *)
  588.  driNewLook=0;
  589.  
  590. TYPE
  591.  DrawInfo=RECORD
  592.   version:CARDINAL;
  593.   numPens:CARDINAL;
  594.   pens:POINTER TO ARRAY DrawPens OF CARDINAL;
  595.   font:TextFontPtr;
  596.   depth:CARDINAL;
  597.   resolution:RECORD
  598.    x,y:CARDINAL;
  599.   END;
  600.   flags:LONGSET;
  601.   reserved:ARRAY[0..6] OF LONGCARD;
  602.  END;
  603.  
  604. CONST
  605.  stdScreenHeight=-1;
  606.  (*36*)stdScreenWidth=-1;
  607.  
  608.  customScreen=ScreenFlagSet{wbenchScreen..sf3};
  609.  
  610. TYPE
  611.  Screen=RECORD
  612.   nextScreen:ScreenPtr;
  613.   firstWindow:WindowPtr;
  614.   leftEdge:INTEGER;
  615.   topEdge:INTEGER;
  616.   width:INTEGER;
  617.   height:INTEGER;
  618.   mouseY:INTEGER;
  619.   mouseX:INTEGER;
  620.   flags:ScreenFlagSet;
  621.   title:ADDRESS;
  622.   defaultTitle:ADDRESS;
  623.   barHeight:SHORTINT;
  624.   barVBorder:SHORTINT;
  625.   barHBorder:SHORTINT;
  626.   menuVBorder:SHORTINT;
  627.   menuHBorder:SHORTINT;
  628.   wBorTop:SHORTINT;
  629.   wBorLeft:SHORTINT;
  630.   wBorRight:SHORTINT;
  631.   wBorBottom:SHORTINT;
  632.   font:TextAttrPtr;
  633.   viewPort:ViewPort;
  634.   rastPort:RastPort;
  635.   bitMap:BitMap;
  636.   layerInfo:LayerInfo;
  637.   firstGadget:GadgetPtr;
  638.   detailPen:SHORTCARD;
  639.   blockPen:SHORTCARD;
  640.   saveColor0:CARDINAL;
  641.   barLayer:LayerPtr;
  642.   extData:ADDRESS;
  643.   userData:ADDRESS;
  644.  END;
  645.  
  646.  NewScreen=RECORD
  647.   leftEdge:INTEGER;
  648.   topEdge:INTEGER;
  649.   width:INTEGER;
  650.   height:INTEGER;
  651.   depth:INTEGER;
  652.   detailPen:SHORTINT;
  653.   blockPen:SHORTINT;
  654.   viewModes:ViewModeSet;
  655.   type:ScreenFlagSet;
  656.   font:TextAttrPtr;
  657.   defaultTitle:ADDRESS;
  658.   gadgets:GadgetPtr;
  659.   customBitMap:BitMapPtr;
  660.  END;
  661.  
  662.  (*36*)ExtNewScreen=RECORD
  663.         ns:NewScreen;
  664.         extension:TagItemPtr
  665.        END;
  666.  
  667.  (*36*)SaTags=(saDummy:=tagUser+32,
  668.         saLeft,
  669.         saTop,
  670.         saWidth,
  671.         saHeight,
  672.         saDepth,
  673.         saDetailPen,
  674.         saBlockPen,
  675.         saTitle,
  676.         saColors,
  677.         saErrorCode,
  678.         saFont,
  679.         saSysFont,
  680.         saType,
  681.         saBitMap,
  682.         saPubName,
  683.         saPubSig,
  684.         saPubTask,
  685.         saDisplayID,
  686.         saDClip,
  687.         saOverscan,
  688.         saObsolete1,
  689.         saShowTitle,
  690.         saBehind,
  691.         saQuiet,
  692.         saAutoScroll,
  693.         saPens,
  694.         saFullPalette
  695.        );
  696.  
  697. CONST
  698.  (*36*)osErrNoMonitor=1;
  699.  (*36*)osErrNoChips=2;
  700.  (*36*)osErrNoMem=3;
  701.  (*36*)osErrNoChipMem=4;
  702.  (*36*)osErrPubNotUnique=5;
  703.  (*36*)osErrUnknownMode=6;
  704.  
  705.  (*36*)oScanText=1;
  706.  (*36*)oScanStandard=2;
  707.  (*36*)oScanMax=3;
  708.  (*36*)oScanVideo=4;
  709.  
  710. TYPE
  711.  (*36*)PubScreenNode=RECORD
  712.         node:Node;
  713.         screen:ScreenPtr;
  714.         flags:BITSET;
  715.         size:INTEGER;
  716.         visitorCount:INTEGER;
  717.         sigTask:TaskPtr;
  718.         sigBit:SHORTCARD;
  719.        END;
  720.  
  721. CONST
  722. (*
  723.  Bitnummer für PubScreen.flags.
  724. *)
  725.  (*36*)psnPrivate=0;
  726.  
  727.  (*36*)maxPubScreenName=139;
  728.  
  729.  (*36*)shanghai=1;
  730.  (*36*)popPubScreen=2;
  731.  
  732. CONST
  733.  filenameSize=30;
  734.  
  735.  pointerSize=(1+16+1)*2;
  736.  
  737.  topazEighty=8;
  738.  topazSixty=9;
  739.  
  740. TYPE
  741.  BaudRate=(
  742.   baud110,baud300,baud1200,baud2400,baud4800,baud9600,baud19200,baudMidi
  743.  );
  744.  
  745.  PrintAspect=(aspectHoriz,aspectVert);
  746.  
  747.  PrintImage=(imagePositive,imageNegative);
  748.  
  749.  PrintQuality=(draft,letter);
  750.  
  751.  PrintShade=(shadeBW,shadeGreyscale,shadeColor);
  752.  
  753.  PrintSpacing=(sixLPI,ps1,eightLPI);
  754.  
  755.  PrinterFlags=(
  756.   correctRed,correctGreen,correctBlue,centerImage,boundedDimensions,
  757.   absoluteDimensions,pixelDimensions,multiplyDimensions,integerScaling,
  758.   halftoneDithering,floydDithering,antiAlias,greyScale2
  759.  );
  760.  PrinterFlagSet=SET OF PrinterFlags;
  761.  
  762. CONST
  763.  correctRGBMask=PrinterFlagSet{correctRed..correctBlue};
  764.  
  765.  dimensionMask=PrinterFlagSet{boundedDimensions..multiplyDimensions};
  766.  
  767.  ditheringMask=PrinterFlagSet{halftoneDithering,floydDithering};
  768.  
  769.  ignoreDimensions=PrinterFlagSet{};
  770.  
  771.  orderedDithering=PrinterFlagSet{};
  772.  
  773. TYPE
  774.  PrinterType=(
  775.   customName,alphaP101,brother15XL,cbmMps1000,diab630,diabAdvD25,
  776.   diabC150,epson,epsonJX80,okimate20,qumeLP20,hpLaserjet,hpLaserjetPlus
  777.  );
  778.  
  779.  PrinterPort=(parallelPrinter,serialPrinter);
  780.  
  781.  SerParShk=(
  782.   shakeRts,shakeNone,sps2,sps3,
  783.   parityEven,parityOdd,paritySpace,sps7
  784.  );
  785.  SerParShkSet=SET OF SerParShk;
  786.  
  787. CONST
  788.  shakeXon=SerParShkSet{};
  789.  parityNone=SerParShkSet{};
  790.  (*36*)parityMark=SerParShkSet{parityEven,parityOdd};
  791.  
  792. TYPE
  793.  Preferences=RECORD
  794.   fontHeight:SHORTCARD;
  795.   printerPort:PrinterPort;
  796.   baudRateMSB:SHORTCARD; (* :=0 *)
  797.   baudRate:BaudRate;
  798.   keyRptSpeed:TimeVal;
  799.   keyRptDelay:TimeVal;
  800.   doubleClick:TimeVal;
  801.   pointerMatrix:ARRAY [0..pointerSize-1] OF CARDINAL;
  802.   xOffset:SHORTINT;
  803.   yOffset:SHORTINT;
  804.   color17:CARDINAL;
  805.   color18:CARDINAL;
  806.   color19:CARDINAL;
  807.   pointerTicks:CARDINAL;
  808.   color0:CARDINAL;
  809.   color1:CARDINAL;
  810.   color2:CARDINAL;
  811.   color3:CARDINAL;
  812.   viewXOffset:SHORTINT;
  813.   viewYOffset:SHORTINT;
  814.   viewInitX:INTEGER;
  815.   viewInitY:INTEGER;
  816.   enableCLI:BITSET;
  817.   printerTypeMSB:SHORTCARD; (* :=0 *)
  818.   printerType:PrinterType;
  819.   printerFilename:ARRAY [0..filenameSize-1] OF CHAR;
  820.   printPitch:CARDINAL;
  821.   printQuality:PrintQuality;
  822.   printQualityLSB:SHORTCARD; (* :=0 *)
  823.   printSpacing:PrintSpacing;
  824.   printSpacingLSB:SHORTCARD; (* :=0 *)
  825.   printLeftMargin:CARDINAL;
  826.   printRightMargin:CARDINAL;
  827.   printImageMSB:SHORTCARD; (* :=0 *)
  828.   printImage:PrintImage;
  829.   printAspectMSB:SHORTCARD; (* :=0 *)
  830.   printAspect:PrintAspect;
  831.   printShadeMSB:SHORTCARD; (* :=0 *)
  832.   printShade:PrintShade;
  833.   printThreshold:INTEGER;
  834.   paperSize:CARDINAL;
  835.   paperLength:CARDINAL;
  836.   paperType:CARDINAL;
  837.   serRWBits:SHORTCARD;
  838.   serStopBuf:SHORTCARD;
  839.   serParShk:SerParShkSet;
  840.   laceWB:SHORTSET;
  841.   workName:ARRAY [0..filenameSize-1] OF CHAR;
  842.   rowSizeChange:SHORTINT;
  843.   columnSizeChange:SHORTINT;
  844.   printFlags:PrinterFlagSet;
  845.   printMaxWidth:CARDINAL;
  846.   printMaxHeight:CARDINAL;
  847.   printDensity:SHORTCARD;
  848.   printXOffset:SHORTCARD;
  849.   width:CARDINAL;
  850.   height:CARDINAL;
  851.   depth:SHORTCARD;
  852.   size:SHORTCARD;
  853.  END;
  854.  
  855. CONST
  856.  pica=0H;
  857.  elite=0400H;
  858.  fine=0800H;
  859.  
  860.  usLetter=0H;
  861.  usLegal=010H;
  862.  nTractor=020H;
  863.  wTractor=030H;
  864.  custom=040H;
  865.  (*36*)euroA0=050H;
  866.  (*36*)euroA1=060H;
  867.  (*36*)euroA2=070H;
  868.  (*36*)euroA3=080H;
  869.  (*36*)euroA4=090H;
  870.  (*36*)euroA5=0A0H;
  871.  (*36*)euroA6=0B0H;
  872.  (*36*)euroA7=0C0H;
  873.  (*36*)euroA8=0D0H;
  874.  
  875.  fanfold=0H;
  876.  single=080H;
  877.  
  878.  readBits=0F0H;
  879.  writeBits=0FH;
  880.  
  881.  stopBits=0F0H;
  882.  bufSizeBits=0FH;
  883.  
  884.  buf512=0;
  885.  buf1024=1;
  886.  buf2048=2;
  887.  buf4096=3;
  888.  buf8000=4;
  889.  buf16000=5;
  890.  
  891. (*
  892.  Bitnummer für Preferences.laceWB.
  893. *)
  894.  lacewb=0;
  895.  
  896. (*
  897.  Bitnummerns für Preferences.enableCLI.
  898. *)
  899.  (*36*)screenDrag=14;
  900.  (*36*)mouseAccel=15;
  901.  
  902. TYPE
  903.  Remember=RECORD
  904.   nextRemember:RememberPtr;
  905.   rememberSize:LONGCARD;
  906.   memory:ADDRESS;
  907.  END;
  908.  
  909.  (*36*)ColorSpec=RECORD
  910.         colorIndex:INTEGER;
  911.         red:CARDINAL;
  912.         green:CARDINAL;
  913.         blue:CARDINAL;
  914.        END;
  915.  
  916.  (*36*)EasyStruct=RECORD
  917.         structSize:LONGCARD;
  918.         flags:LONGSET;
  919.         title:ADDRESS;
  920.         textFormat:ADDRESS;
  921.         gadgetFormat:ADDRESS;
  922.        END;
  923.  
  924. TYPE
  925.  DisplayMode=(hiresPick,lowresPick);
  926.  
  927. CONST
  928.  dModeCount=ORD(MAX(DisplayMode))+1;
  929.  eventMax=10;
  930.  
  931. TYPE
  932.  Res=(hiresGadget,lowresGadget);
  933.  
  934. CONST
  935.  resCount=ORD(MAX(Res))+1;
  936.  
  937. TYPE
  938.  Gadgets=(
  939.   upFrontGadget,downBackGadget,sizeGadget,closeGadget,
  940.   dragGadget,sUpFrontGadget,sDownBackGadget,sDragGadget
  941.  );
  942.  
  943. CONST
  944.  gadgetCount=ORD(MAX(Gadgets))+1;
  945.  
  946.  
  947. TYPE
  948.  IntuitionBase=RECORD
  949.   libNode:Library;
  950.   viewLord:View;
  951.   activeWindow:WindowPtr;
  952.   activeScreen:ScreenPtr;
  953.   firstScreen:ScreenPtr;
  954.   flags:LONGSET;
  955.   mouseY:INTEGER;
  956.   mouseX:INTEGER;
  957.   seconds:LONGCARD;
  958.   micros:LONGCARD;
  959.  END;
  960.  
  961. TYPE
  962.  (*36*)GadgetInfo=RECORD
  963.         screen:ScreenPtr;
  964.         window:WindowPtr;
  965.         requester:RequesterPtr;
  966.         rastPort:RastPortPtr;
  967.         layer:LayerPtr;
  968.         domain:IBox;
  969.         detailPen:SHORTCARD;
  970.         blockPen:SHORTCARD;
  971.         drInfo:DrawInfoPtr;
  972.         reserved:ARRAY [0..5] OF LONGCARD;
  973.        END;
  974.  
  975.  (*36*)PGX=RECORD
  976.         container:IBox;
  977.         newKnob:IBox;
  978.        END;
  979.  
  980.  (*36*)StringExtend=RECORD
  981.         font:TextFontPtr;
  982.         pens,activePens:ARRAY [0..1] OF SHORTCARD;
  983.         initialModes:LONGSET;
  984.         editHook:HookPtr;
  985.         workBuffer:StrPtr;
  986.         reserved:ARRAY [0..3] OF LONGCARD;
  987.        END;
  988.  
  989.  (*36*)SGWork=RECORD
  990.         gadget:GadgetPtr;
  991.         stringInfo:StringInfoPtr;
  992.         workBuffer:StrPtr;
  993.         prevBuffer:StrPtr;
  994.         modes:LONGSET;
  995.         iEvent:InputEventPtr;
  996.         code:CARDINAL;
  997.         bufferPos:INTEGER;
  998.         numChars:INTEGER;
  999.         actions:LONGSET;
  1000.         longInt:LONGINT;
  1001.         gadgetInfo:GadgetInfoPtr;
  1002.         editOp:CARDINAL;
  1003.        END;
  1004.  
  1005. CONST
  1006.  (*36*)eoNoop=0001H;
  1007.  (*36*)eoDelbackward=0002H;
  1008.  (*36*)eoDelforward=0003H;
  1009.  (*36*)eoMovecursor=0004H;
  1010.  (*36*)eoEnter=0005H;
  1011.  (*36*)eoReset=0006H;
  1012.  (*36*)eoReplacechar=0007H;
  1013.  (*36*)eoInsertchar=0008H;
  1014.  (*36*)eoBadformat=0009H;
  1015.  (*36*)eoBigchange=000AH;
  1016.  (*36*)eoUndo=000BH;
  1017.  (*36*)eoClear=000CH;
  1018.  (*36*)eoSpecial=000DH;
  1019.  
  1020.  (*36*)sgmReplace=0;
  1021.  (*36*)sgmFixedField=1;
  1022.  (*36*)sgmNoFilter=2;
  1023.  (*36*)sgmNoChange=3;
  1024.  (*36*)sgmNoWorkb=4;
  1025.  (*36*)sgmControl=5;
  1026.  (*36*)sgmLongint=6;
  1027.  (*37*)sgmExitHelp=7;
  1028.  
  1029.  (*36*)sgaUse=01H;
  1030.  (*36*)sgaEnd=02H;
  1031.  (*36*)sgaBeep=04H;
  1032.  (*36*)sgaReuse=08H;
  1033.  (*36*)sgaRedisplay=010H;
  1034.  (*37*)sgaNextActive=020H;
  1035.  (*37*)sgaPrevActive=040H;
  1036.  
  1037.  (*36*)sghKey=1;
  1038.  (*36*)sghClick=2;
  1039.  
  1040. TYPE
  1041.  (*36*)Object=ADDRESS;
  1042.  
  1043.  (*36*)ClassID=StrPtr;
  1044.  
  1045.  (*36*)Msg=POINTER TO RECORD
  1046.             methodID:LONGCARD;
  1047.            END;
  1048.  
  1049. CONST
  1050.  (*36*)rootClass="rootclass";
  1051.  (*36*)imageClass="imageclass";
  1052.  (*36*)frameiClass="frameiclass";
  1053.  (*36*)sysiClass="sysiclass";
  1054.  (*36*)fillrectClass="fillrectclass";
  1055.  (*36*)gadgetClass="gadgetclass";
  1056.  (*36*)propgClass="propgclass";
  1057.  (*36*)strgClass="strgclass";
  1058.  (*36*)buttongClass="buttongclass";
  1059.  (*36*)frbuttonClass="frbuttonclass";
  1060.  (*36*)groupgClass="groupgclass";
  1061.  (*36*)icClass="icclass";
  1062.  (*36*)modelClass="modelclass";
  1063.  
  1064.  (*36*)omDummy=0100H;
  1065.  (*36*)omNEW=0101H;
  1066.  (*36*)omDISPOSE=0102H;
  1067.  (*36*)omSET=0103H;
  1068.  (*36*)omGET=0104H;
  1069.  (*36*)omADDTAIL=0105H;
  1070.  (*36*)omREMOVE=0106H;
  1071.  (*36*)omNOTIFY=0107H;
  1072.  (*36*)omUPDATE=0108H;
  1073.  (*36*)omADDMEMBER=0109H;
  1074.  (*36*)omREMMEMBER=010AH;
  1075.  
  1076. TYPE
  1077.  (*36*)OpSet=RECORD
  1078.         methodID:LONGCARD;
  1079.         attrList:TagItemPtr;
  1080.         gInfo:GadgetInfoPtr;
  1081.        END;
  1082.  
  1083.  (*36*)OpUpdate=RECORD
  1084.         methodID:LONGCARD;
  1085.         attrList:TagItemPtr;
  1086.         gInfo:GadgetInfoPtr;
  1087.         flags:LONGSET;
  1088.        END;
  1089.  
  1090. CONST
  1091.  (*36*)opufINTERIM=LONGSET{0};
  1092.  
  1093. TYPE
  1094.  (*36*)OpGet=RECORD
  1095.         methodID:LONGCARD;
  1096.         attrID:LONGCARD;
  1097.         storage:POINTER TO LONGCARD;
  1098.        END;
  1099.  
  1100.  (*36*)OpAddTail=RECORD
  1101.         methodID:LONGCARD;
  1102.         list:ListPtr;
  1103.        END;
  1104.  
  1105.  (*36*)OpMember=RECORD
  1106.         methodID:LONGCARD;
  1107.         object:ObjectPtr;
  1108.        END;
  1109.  
  1110.  (*36*)OpAddMember=OpMember;
  1111.  (*36*)OpAddMemberPtr=OpMemberPtr;
  1112.  
  1113.  (*36*)IClass=RECORD
  1114.         dispatcher:Hook;
  1115.         reserved:LONGCARD;
  1116.         super:IClassPtr;
  1117.         id:ClassID;
  1118.         instOffset:CARDINAL;
  1119.         instSize:CARDINAL;
  1120.         userData:LONGCARD;
  1121.         subclassCount:LONGCARD;
  1122.         objectCount:LONGCARD;
  1123.         flags:LONGSET;
  1124.        END;
  1125.  
  1126. CONST
  1127.  (*36*)inList=LONGSET{0};
  1128.  
  1129. TYPE
  1130. (*
  1131.  Der Typ _Object wurde zu UObject umbenannt, weil Modula-2 ein '_' in
  1132.  einem Namen nicht zulässt, und Object schon verwendet wird.
  1133. *)
  1134.  (*36*)UObject=RECORD
  1135.         node:MinNode;
  1136.         class:IClassPtr;
  1137.        END;
  1138.  
  1139.  (*36*)GaTags=(gaDummy:=tagUser+030000H,
  1140.         gaLeft,
  1141.         gaRelRight,
  1142.         gaTop,
  1143.         gaRelBottom,
  1144.         gaWidth,
  1145.         gaRelWidth,
  1146.         gaHeight,
  1147.         gaRelHeight,
  1148.         gaText,
  1149.         gaImage,
  1150.         gaBorder,
  1151.         gaSelectRender,
  1152.         gaHighlight,
  1153.         gaDisabled,
  1154.         gaGZZGadget,
  1155.         gaID,
  1156.         gaUserData,
  1157.         gaSpecialInfo,
  1158.         gaSelected,
  1159.         gaEndGadget,
  1160.         gaImmediate,
  1161.         gaRelVerify,
  1162.         gaFollowMouse,
  1163.         gaRightBorder,
  1164.         gaLeftBorder,
  1165.         gaTopBorder,
  1166.         gaBottomBorder,
  1167.         gaToggleSelect,
  1168.         gaSysGadget,
  1169.         gaSysGType,
  1170.         gaPrevious,
  1171.         gaNext,
  1172.         gaDrawInfo,
  1173.         gaIntuiText,
  1174.         gaLabelImage,
  1175.         gaTabCycle
  1176.        );
  1177.  
  1178.  (*36*)PgaTags=(pgaDummy:=tagUser+031000H,
  1179.         pgaFreedom,
  1180.         pgaBorderless,
  1181.         pgaHorizPot,
  1182.         pgaHorizBody,
  1183.         pgaVertPot,
  1184.         pgaVertBody,
  1185.         pgaTotal,
  1186.         pgaVisible,
  1187.         pgaTop,
  1188.         (*37*)pgaNewLook
  1189.        );
  1190.  
  1191.  (*36*)StringaTags=(stringaDummy:=tagUser+032000H,
  1192.         stringaMaxChars,
  1193.         stringaBuffer,
  1194.         stringaUndoBuffer,
  1195.         stringaWorkBuffer,
  1196.         stringaBufferPos,
  1197.         stringaDispPos,
  1198.         stringaAltKeyMap,
  1199.         stringaFont,
  1200.         stringaPens,
  1201.         stringaActivePens,
  1202.         stringaEditHook,
  1203.         stringaEditModes,
  1204.         stringaReplaceMode,
  1205.         stringaFixedFieldMode,
  1206.         stringaNoFilterMode,
  1207.         stringaJustification,
  1208.         stringaLongVal,
  1209.         stringaTextVal,
  1210.         (*37*)stringaExitHelp
  1211.        );
  1212.  
  1213. CONST
  1214.  (*36*)sgDefaultMaxChars=128;
  1215.  
  1216. TYPE
  1217.  (*36*)LayoutaTags=(layoutaDummy:=tagUser+038000H,
  1218.         layoutaLayoutObj,
  1219.         layoutaSpacing,
  1220.         layoutaOrientation
  1221.        );
  1222.  
  1223. CONST
  1224.  (*36*)lorientNone=0;
  1225.  (*36*)lorientHoriz=1;
  1226.  (*36*)lorientVert=2;
  1227.  
  1228.  (*36*)gmDummy=-1;
  1229.  (*36*)gmHITTEST=0;
  1230.  (*36*)gmRENDER=1;
  1231.  (*36*)gmGOACTIVE=2;
  1232.  (*36*)gmHANDLEINPUT=3;
  1233.  (*36*)gmGOINACTIVE=4;
  1234.  
  1235. TYPE
  1236.  (*36*)GpHitTest=RECORD
  1237.         methodID:LONGCARD;
  1238.         gInfo:GadgetInfoPtr;
  1239.         mouse:Point;
  1240.        END;
  1241.  
  1242. CONST
  1243.  (*36*)gmrGadgetHit=000000004H;
  1244.  
  1245. TYPE
  1246.  (*36*)GpRender=RECORD
  1247.         methodID:LONGCARD;
  1248.         gInfo:GadgetInfoPtr;
  1249.         rPort:RastPortPtr;
  1250.         redraw:LONGINT;
  1251.        END;
  1252.  
  1253. CONST
  1254.  (*36*)gRedrawUpdate=2;
  1255.  (*36*)gRedrawRedraw=1;
  1256.  (*36*)gRedrawToggle=0;
  1257.  
  1258. TYPE
  1259.  (*36*)GpInput=RECORD
  1260.         methodID:LONGCARD;
  1261.         gInfo:GadgetInfoPtr;
  1262.         iEvent:InputEventPtr;
  1263.         termination:ADDRESS;
  1264.         mouse:Point;
  1265.        END;
  1266.  
  1267.  (*36*)GpGoInactive=RECORD
  1268.         methodID:LONGCARD;
  1269.         gInfo:GadgetInfoPtr;
  1270.         (*37*)abort:LONGCARD;
  1271.        END;
  1272.  
  1273. CONST
  1274. (*
  1275.  gmrXXXX sind Bitnummern eines LONGSETs!
  1276. *)
  1277.  (*36*)gmrMeActive=0;
  1278.  (*36*)gmrNoReuse=1;
  1279.  (*36*)gmrReuse=2;
  1280.  (*36*)gmrVerify=3;
  1281.  (*37*)gmrNextActive=4;
  1282.  (*37*)gmrPrevActive=5;
  1283.  
  1284.  (*36*)icmDummy=0401H;
  1285.  (*36*)icmSETLOOP=0402H;
  1286.  (*36*)icmCLEARLOOP=0403H;
  1287.  (*36*)icmCHECKLOOP=0404H;
  1288.  
  1289. TYPE
  1290.  (*36*)IcaTags=(icaDummy:=tagUser+040000H,
  1291.         icaTarget,
  1292.         icaMap,
  1293.         icspecialCode
  1294.        );
  1295.  
  1296. CONST
  1297.  (*36*)icTargetIDCMP=-1;
  1298.  
  1299.  (*36*)customImageDepth=-1;
  1300.  
  1301. TYPE
  1302.  (*36*)IaTags=(iaDummy:=tagUser+020000H,
  1303.         iaLeft,
  1304.         iaTop,
  1305.         iaWidth,
  1306.         iaHeight,
  1307.         iaFGPen,
  1308.         iaBGPen,
  1309.         iaData,
  1310.         iaLineWidth,
  1311.         iaShadowPen,
  1312.         iaHighlightPen,
  1313.         sysiaSize,
  1314.         sysiaDepth,
  1315.         sysiaWhich,
  1316.         iaPens,
  1317.         iaResolution,
  1318.         iaAPattern,
  1319.         iaAPatSize,
  1320.         iaMode,
  1321.         iaFont,
  1322.         iaOutline,
  1323.         iaRecessed,
  1324.         iaDoubleEmboss,
  1325.         iaEdgesOnly,
  1326.         sysiaDrawInfo
  1327.        );
  1328.  
  1329. CONST
  1330.  (*36*)sysiaPens=iaPens;
  1331.  
  1332.  (*36*)sysisizeMedres=0;
  1333.  (*36*)sysisizeLowres=1;
  1334.  (*36*)sysisizeHires= 2;
  1335.  
  1336.  (*36*)depthImage=00H;
  1337.  (*36*)zoomImage=01H;
  1338.  (*36*)sizeImage=02H;
  1339.  (*36*)closeImage=03H;
  1340.  (*36*)sdepthImage=05H;
  1341.  (*36*)leftImage=0AH;
  1342.  (*36*)upImage=0BH;
  1343.  (*36*)rightImage=0CH;
  1344.  (*36*)downImage=0DH;
  1345.  (*36*)checkImage=0EH;
  1346.  (*36*)mxImage=0FH;
  1347.  
  1348.  
  1349.  (*36*)imDraw=202H;
  1350.  (*36*)imHitTest=203H;
  1351.  (*36*)imErase=204H;
  1352.  (*36*)imMove=205H;
  1353.  (*36*)imDrawFrame=206H;
  1354.  (*36*)imFrameBox=207H;
  1355.  (*36*)imHitFrame=208H;
  1356.  (*36*)imEraseFrame=209H;
  1357.  
  1358.  (*36*)idsNormal=0;
  1359.  (*36*)idsSelected=1;
  1360.  (*36*)idsDisabled=2;
  1361.  (*36*)idsBusy=3;
  1362.  (*36*)idsIndeterminate=4;
  1363.  (*36*)idsInactiveNormal=5;
  1364.  (*36*)idsInactiveSelected=6;
  1365.  (*36*)idsInactiveDisabled=7;
  1366.  
  1367. TYPE
  1368.  (*36*)ImpFrameBox=RECORD
  1369.         methodID:LONGCARD;
  1370.         contentsBox:IBoxPtr;
  1371.         frameBox:IBoxPtr;
  1372.         drInfo:DrawInfoPtr;
  1373.         frameFlags:LONGSET;
  1374.        END;
  1375.  
  1376. CONST
  1377.  (*36*)framefSpecify=LONGSET{0};
  1378.  
  1379. TYPE
  1380.  (*36*)ImpDraw=RECORD
  1381.         methodID:LONGCARD;
  1382.         rPort:RastPortPtr;
  1383.         offset:RECORD
  1384.          x:INTEGER;
  1385.          y:INTEGER;
  1386.         END;
  1387.         state:LONGCARD;
  1388.         drInfo:DrawInfoPtr;
  1389.         dimensions:RECORD
  1390.          width:INTEGER;
  1391.          height:INTEGER;
  1392.         END;
  1393.        END;
  1394.  
  1395.  (*36*)ImpErase=RECORD
  1396.         methodID:LONGCARD;
  1397.         rPort:RastPortPtr;
  1398.         offset:RECORD
  1399.          x:INTEGER;
  1400.          y:INTEGER;
  1401.         END;
  1402.         dimensions:RECORD
  1403.          width:INTEGER;
  1404.          height:INTEGER;
  1405.         END;
  1406.        END;
  1407.  
  1408.  (*36*)ImpHitTest=RECORD
  1409.         methodID:LONGCARD;
  1410.         point:Point;
  1411.         dimensions:RECORD
  1412.          width:INTEGER;
  1413.          height:INTEGER;
  1414.         END;
  1415.        END;
  1416.  
  1417. END IntuitionD.noimp
  1418.